#ifndef __MAIN_H__
#define __MAIN_H__

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <math.h>
#include <linux/input.h>
#include <time.h>
#include <stdlib.h>

#define BLACK 0x00000000  // 黑色
#define RED 0x00ff0000    // 红色
#define GREEN 0x0000ff00  // 绿色
#define YELLOW 0x00ffff00 // 黄色
#define BLUE 0x000000ff   // 蓝色
#define PURPLE 0x00ff00ff // 紫色
#define CYAN 0x0000ffff   // 青色
#define WHITE 0xffffffff  // 白色
#define WHITE1 0x00ffffff // 白色
#define GRAY 0x00808080   // 灰色
#define PINK 0x00ff8080   // 粉色
#define ORANGE 0x00ff8000 // 橙色

extern int fd_lcd, fd_touch;
extern int (*lcd_mmap)[800];
extern FILE * fp_lcd;
extern FILE * fp_touch;
extern int last_x; // 上一次触摸的x坐标
extern last_y;     // 上一次触摸的y坐标

int Init();
void draw_init();
void free_Init();
int toolbar_init();
void detect_init();
int * getBMP_IMG(char * path, int width, int height);
void touch(int x, int y, int radius, int color);
void touch_release();
void draw_circle_fast(int center_x, int center_y, int radius, int color);
void draw_line_fast(int x1, int y1, int x2, int y2, int radius, int color);

#endif